SView for Windos Control为OCX控件提供三维模型基本的浏览、模型属性操作、基本三维对象操作、动画播放等功能的实现接口,可实现基本的 三维模型展示功能,以便于用户个性化定制属于自己的产品。文档主要介绍了OCX控件提供的接口说明。SView for Windows Control控件集成说明的介绍请查看SView for Windows Control 集成说明文档
功能模块 类型 接口 描述 备注
打开 方法 void OpenFile(BSTR filePath) 打开本地文件(支持单文件和多文件)
方法 void OpenUrl(BSTR urlPath) 打开远端URL路径文件(支持单文件和多文件)
属性 Src 打开属性配置内URL路径文件(支持单文件和多文件)
显示配置 方法 void SetConfig(BSTR configJson) 持续旋转
高性能模式
存储模式
测量单位
使用LOD
小件剔除模式
合并面对象
使用边界线
重新计算法线
反锯齿
小件剔除比率
显示PMI
界面展示模式
GLES
属性 Configure 设置属性Configure的值为JSON格式数据,配置各项参数
布局配置 方法 void SetConfig(String configJson) 装配树面板
视图面板
主工具栏
主命令工具栏
基本浏览 方法 void RestoreView() 复位
方法 void SetModelSelected(BSTR svlPath, VARIANT_BOOL selected) 拾取
方法 void RestoreSelectedModle(BSTR svlPath) 选择复位
方法 void FocusModel(BSTR svlPath) 聚焦显示
方法 void TakeScreenPicture(BSTR savePath) 保存截图
模型属性 方法 void SetModelVisible(BSTR svlPath, VARIANT_BOOL visible) 显示、隐藏
方法 void SetModelColor(BSTR svlPath, BSTR colorStr) 颜色  
视图浏览 方法 void SetPerspective(int viewType) 基本视图浏览:前视图、俯视图、仰视图、左视图、右视图、后视图、轴测图、显示网格  
渲染模式 方法 void SetDrawMode(int renderMode) 着色渲染:着色模式、边着色模式、线框模式、半透明模式、显示包围盒  
操作配置 方法 void SetMultiSelect(bool isMultiSelect) 多选  
方法 void SetDesignatedRotation(bool isDesignatedRotation) 指定旋转  
方法 void ShowPorperty(bool showPorperty) 显示属性  
剖切 方法 void SetClipPlane(SHORT direction, FLOAT position, VARIANT_BOOL isShowClipPlane,VARIANT_BOOL isShowCutPlane) 基于坐标平面创建剖面,可调节剖切深度  
方法 void CloseClipPlane() 关闭剖切  
爆炸图 方法 void SetExplosiveView(int type, int pos) 浏览爆炸图,调节爆炸间距  
方法 void CloseExplosive() 关闭爆炸图  
动画 方法 void AnimationPlay() 开始  
方法 void AnimationPause() 暂停  
方法 void AnimationContinue() 继续  
方法 bool AnimationLoop(bool loop) 是否重复播放  
方法 void AnimationSetSpeed(float speed) 设置速度  
方法 void AnimationPlayRange(int startId, int endId) 播放指定段  
方法 void AnimationOpenFile(String animationFilePath) 打开动画文件  
方法 void AnimationClose() 关闭动画
打开本地文件
方法
void OpenFile(BSTR filePath)
说明
打开本地文件
参数
参数 是否必须 说明
filePath 本地文件路径。
返回值
void
备注
D:\\1.svl 打开D盘下的1.svl文件
打开URL文件
方法
void OpenUrl(BSTR urlPath)
说明
打开URL文件
参数
参数 是否必须 说明
urlPath 远端文件路径,多个文件用;;分割。
返回值
void
备注
多个Url路径需要用;;来分割开例如http://192.168.75.1:8080/svlfiles/1.svl;;http://
192.168.75.1:8080/svlfiles/2.svl;;http://192.168.75.1:8080/svlfiles/3.svl
打开属性文件
属性
Src
说明
设置Src的值为模型路径打开模型文件
参数
参数 是否必须 说明
value 为url路径,多个Url路径需要用;;来分割开。
返回值
void
备注
多个Url路径需要用;;来分割开例如http://192.168.75.1:8080/svlfiles/1.svl;;http://
192.168.75.1:8080/svlfiles/2.svl;;http://192.168.75.1:8080/svlfiles/3.svl
方法配置参数
方法
void SetConfig(BSTR configJson)
说明
直接调用方法,传递JSON格式数据,配置各项参数,JSON文件格式
{
    "Common": [
        {
            "IsConRotate": "False",
            "ShowMode": "3"
        }
    ],
    "Render": [
        {
            "IsSimplityMode": "False",
            "DrawDataBufferType": "1",
            "RemoveSize": "5",
            "MeasureUnit": "0",
            "IsShowPMI": "True",
            "MsaaNum": "2",
            "GLES": "2",
            "BackgroundImagePath": ""
        }
    ],
    "Layout": [
        {
            "MainMenu": "False",
            "AssemblyTree": "True",
            "ModelView": "True",
            "ToolBar": "True"
        }
    ]
}
参数
参数 是否必须 说明
IsConRotate 值:True/False:持续/不持续旋转(设置模型是否持续旋转,默认值为False)
IsSimplityMode 值:True/False:使用/不使用高性能 (设置是否使用高性能模式,默认值为False)
DrawDataBufferType 值: 0内存优先,1显存优先,2磁盘优先(设置存储模式,默认值为1)
MeasureUnit 值: 0无,1毫米,2厘米,3米,4英寸,5英尺(设置测量功能测量单位,默认值为0)
IsUseLOD 值:True/False:使用/不使用LOD(设置渲染模式,默认值为False)
RemoveMode 值: 0模型,1屏幕(设置小件剔除模式,以屏幕来剔除或以模型来剔除,默认值为1)
IsMergeFace 值: True/False:合并/不合并面(设置模型是否合并面,默认值为Fasle)
RemoveSize 值: 0~50之间int整数(设置小件剔除百分比,默认值为0)
IsReadEdgeFlag 值:True/False:使用/不使用边界线(设置是否显示模型的边界线,默认值为True)
MsaaNum 值: 0关闭,1表示X2倍,2表示X4倍,3表示X8倍(设置多重采样抗锯齿倍率,默认值为2)
RemoveSize 值: 0~50之间int整数
IsShowPMI 值:True/False:显示/不显示PMI(设置模型是否显示批注、测量等信息,默认值为True)
ShowMode 值: 0无,1显示装配树,2显示视图(设置模型显示装配树、视图,默认值为0)
GLES 值: 1表示ES1,2表示ES2(设置GLES模式,默认值为1
返回值
void
备注
属性配置参数
属性
Configure
说明
设置属性Configure的值为JSON格式数据,配置各项参数,数据格式为:
<param name="Configure" value='{"Common": [{"IsConRotate": "False","ShowMode": "3"}],"Render": [{"IsSimplityMode":"True","DrawDataBufferType":"1", "RemoveSize": "5","MeasureUnit": "0","IsShowPMI": "True","MsaaNum": "2","GLES": "2",BackgroundImagePath": ""}]"Layout": [{"MainMenu": "False","AssemblyTree": "True","ModelView": "True","ToolBar": "True"}]}'>
参数
参数 是否必须 说明
value 为JSON格式数据,配置属性参数
返回值
void
备注
方法
void SetConfig(BSTR configJson)
说明
外部通过JSON文件配置,JSON文件格式:
{
    "Layout": [
        {
            "MainMenu": "False",
            "AssemblyTree": "True",
            "ModelView": "True",
            "ToolBar": "True"
        }
    ]
}
参数
参数 是否必须 说明
AssemblyTree 值: True/False:显示/隐藏装配树面板(设置装配树面板的显隐,默认值为True
ModelView 值:True/False:显示/隐藏视图面板(设置装视图面板的显隐,默认值为True)
MainMenu 值: True/False:显示/隐藏主工具栏(设置工具栏的显隐,默认值为True)
ToolBar 值:True/False:显示/隐藏主命令工具栏(设置命令工具栏的显隐,默认值为True)
返回值
void
备注
复位
方法
void RestoreView()
说明
置模型恢复到初始化状态
参数
返回值
void
备注
拾取
方法
void SetModelSelected(BSTR svlPath, VARIANT_BOOL selected)
说明
设置模型的选中/取消选中
参数
参数 是否必须 说明
svlPath 模型唯一标识(见备注)
selected True/False:拾取/不拾取
返回值
void
备注
svlPath 示例"PATH|0|3|2|3" 如果有多个需要用";"分隔开例如:"PATH|0|3|2|3;PATH|0|17|6;PATH|0|2"
选择复位
方法
RestoreSelectedModle(BSTR svlPath)
说明
设置模型回到原始位置
参数
参数 是否必须 说明
svlPath 模型唯一标识 示例"PATH|0|3|2|3"
返回值
void
备注
svlPath 示例"PATH|0|3|2|3" 如果有多个需要用";"分隔开例如:"PATH|0|3|2|3;PATH|0|17|6;PATH|0|2"
聚焦显示
方法
void FocusModel(BSTR svlPath)
说明
设置模型聚焦显示
参数
参数 是否必须 说明
svlPath 模型唯一标识 示例"PATH|0|3|2|3"
返回值
void
备注
svlPath 示例"PATH|0|3|2|3" 如果有多个需要用";"分隔开例如:"PATH|0|3|2|3;PATH|0|17|6;PATH|0|2"
保存截图
方法
void TakeScreenPicture(BSTR savePath)
说明
保存模型展示截图
参数
参数 是否必须 说明
savePath 截图保存的路径
返回值
void
备注
显示、隐藏
方法
void SetModelVisible(BSTR svlPath, VARIANT_BOOL visible)
说明
设置模型的显示或隐藏
参数
参数 是否必须 说明
svlPath 模型唯一标识
visible True/False:显示/隐藏
返回值
void
备注
svlPath 示例"PATH|0|3|2|3" 如果有多个需要用";"分隔开,例如:"PATH|0|3|2|3;PATH|0|17|6;PATH|0|2"
颜色
方法
void SetModelColor(BSTR svlPath, BSTR colorStr)
说明
设置模型颜色
参数
参数 是否必须 说明
svlPath 模型唯一标识
colorStr 十六进制颜色字符串颜色,示例"0x0000ff"
返回值
void
备注
svlPath 示例"PATH|0|3|2|3" 如果有多个需要用";"分隔开,例如:"PATH|0|3|2|3;PATH|0|17|6;PATH|0|2"
方法
void SetPerspective(int viewType)
说明
基本视图浏览:前视图、俯视图、仰视图、左视图、右视图、后视图、轴测图,设置不同方位展示模型
参数
参数 是否必须 说明
viewType 0前视图 1后视图 2右视图 3左视图 4仰视图 5俯视图 6轴视图
返回值
void
备注
方法
void SetDrawMode(int renderMode)
说明
着色模式、边着色模式、线框模式、半透明模式、显示包围盒、显示网格
参数
参数 是否必须 说明
renderMode 0着色模式、1半透明模式、3线框模式、4边着色模式、5显示网格、6取消半透明模式、7显示/取消显示包围盒
返回值
void
备注
多选
方法
void SetMultiSelect(bool isMultiSelect)
说明
设置模型是否多选
参数
参数 是否必须 说明
isMultiSelect True/False:使用/不使用多选
返回值
void
备注
指定旋转
方法
void SetDesignatedRotation(bool isDesignatedRotation)
说明
设置模型是否指定旋转
参数
参数 是否必须 说明
isDesignatedRotation True/False:使用/不使用指定旋转
返回值
void
备注
显示属性
方法
void ShowPorperty(bool showPorperty)
说明
设置模型属性列表显示隐藏
参数
参数 是否必须 说明
showPorperty True/False:显示/隐藏属性列表
返回值
void
备注
剖切
方法
void SetClipPlane(SHORT direction, FLOAT position, VARIANT_BOOL isShowClipPlane,VARIANT_BOOL,isShowCutPlane)
说明
基于坐标平面创建剖面,可调节剖切深度,展示剖切面内容
参数
参数 是否必须 说明
direction 方向 1:X;2:Y;3:Z; -1:-X;-2:-Y;-3:-Z;
position 位置 0~100表示剖切百分比
isShowClipPlane 是否显示示意面
isShowCutPlane 是否显示盖面
返回值
void
备注
关闭剖切
方法
void CloseClipPlane()
说明
关闭模型的剖切展示
参数
返回值
void
备注
爆炸图
方法
void SetExplosiveView(int type, int pos)
说明
展示模型爆炸效果
参数
参数 是否必须 说明
type 爆炸类型;0-远离中心点爆炸;1-左右爆炸;2-上下爆炸
pos 爆炸间距0-100
返回值
void
备注
关闭爆炸图
方法
void CloseExplosive()
说明
关闭模型的爆炸展示
参数
返回值
void
备注
开始
方法
void AnimationPlay()
说明
开始播放模型的动画文件或者播放暂停的动画文件
参数
返回值
void
备注
暂停
方法
void AnimationPause()
说明
暂停模型动画文件的播放
参数
返回值
void
备注
继续
方法
void AnimationContinue()
说明
继续播放模型的动画文件
参数
返回值
void
备注
是否重复播放
方法
bool AnimationLoop(bool loop)
说明
设置模型动画文件的重复播放
参数
参数 是否必须 说明
loop true,循环播放;false 不循环
返回值
bool
备注
设置速度
方法
void AnimationSetSpeed(float speed)
说明
设置动画播放速度
参数
参数 是否必须 说明
speed 1-10倍速播放
返回值
void
备注
播放指定段
方法
void AnimationPlayRange(int startId, int endId)
说明
设置动画播放速度
参数
参数 是否必须 说明
startId 开始id
endId 结束id
返回值
void
备注
打开动画文件
方法
void AnimationOpenFile(String animationFilePath)
说明
打开模型动画文件
参数
参数 是否必须 说明
animationFilePath 动画文件路径
返回值
void
备注
关闭动画
方法
void AnimationClose()
说明
关闭动画播放
参数
返回值
void
备注